//某公司每日销售额记于整数数组 sales，请返回所有 连续 一或多天销售额总和的最大值。 
//
// 要求实现时间复杂度为 O(n) 的算法。 
//
// 
//
// 示例 1： 
//
// 
//输入：sales = [-2,1,-3,4,-1,2,1,-5,4]
//输出：6
//解释：[4,-1,2,1] 此连续四天的销售总额最高，为 6。 
//
// 示例 2： 
//
// 
//输入：sales = [5,4,-1,7,8]
//输出：23
//解释：[5,4,-1,7,8] 此连续五天的销售总额最高，为 23。  
//
// 
//
// 提示： 
//
// 
// 1 <= arr.length <= 10^5 
// -100 <= arr[i] <= 100 
// 
//
// 注意：本题与主站 53 题相同：https://leetcode-cn.com/problems/maximum-subarray/ 
//
// Related Topics 数组 分治 动态规划 👍 752 👎 0


package LeetCode.editor.cn;

/**
 * @author ldltd
 * @date 2025-05-14 22:37:32
 * @description LCR 161.连续天数的最高销售额
 */
public class LianXuZiShuZuDeZuiDaHeLcof{
	 public static void main(String[] args) {
	 	 //测试代码
	 	 LianXuZiShuZuDeZuiDaHeLcof fun=new LianXuZiShuZuDeZuiDaHeLcof();
	 	 Solution solution = fun.new Solution();
		solution.maxSales(new int[]{-2,1,-3,4,-1,2,1,-5,4});//6
	 }
	 
//力扣代码
//leetcode submit region begin(Prohibit modification and deletion)
class Solution {
    public int maxSales(int[] sales) {
		int pre = 0, maxAns = sales[0];
		for (int x : sales) {
			pre = Math.max(pre + x, x);
			maxAns = Math.max(maxAns, pre);
		}
		return maxAns;
    }
}
//leetcode submit region end(Prohibit modification and deletion)

}
